/*
 * @Description:
 * @Version: 2.0
 * @Autor: swc
 * @Date: 2023-10-17 10:00:09
 * @LastEditors: wiz
 * @LastEditTime: 2023-12-19 18:53:09
 */
import { N_oSetupPanel, N_oSimpleToolbar } from '@/types';
import Vue from 'vue';

export namespace N_oMultiForm {
  export interface I_multiTables {
    value: {
      toTable: string;
      toField: string;
      isDropdown: boolean;
      customSearch: string;
      multiConnect: string;
      fields: Array<any>;
    };
  }
  export interface I_conf {
    name: string;
    comment: string;
    isCreated: boolean;
    status: string;
    multiTables: Array<I_multiTables>;
    messageConfig: N_oSetupPanel.N_comps.I_messageConf;
    permission: Array<N_oSetupPanel.I_permission>;
    mainFun: string;
  }
  export interface I_openFunParams {
    show: boolean;
    conf: any;
    funName: string;
    tableColumns: any;
    tableName: string;
    dbType: string;

    formRows: Array<any>;
    openCompName: string;
  }
  export interface I_M2OList {
    field: string;
    tTable: string;
    tField: string;
    m2oField: string;
  }
  export interface I_SLCList {
    field: string;
    slcField: string;
  }
  export interface oMultiForm extends Vue {
    isMask: boolean;
    editStatus: any;
    // [x: string]: any;
    currentMsg: any;
    toolbarList: Array<N_oSimpleToolbar.I_Conf>;
    multiTables: Array<N_oMultiForm.I_openFunParams>;
    originalData: any;
    cleanSubCompData: (
      p: N_oSetupPanel.N_comps.T_eventCoordinationToolbar
    ) => void;
  }
}
